﻿#include "Gua.h"

Gua::Gua(QWidget *parent) : QLabel(parent)
  ,bruse(false)
{
    m_dong = 0;
    for(int i = 0; i<6;++i)
    {
        m_yao[i] = true;
    }
}

void Gua::setYao(bool yao6, bool yao5, bool yao4, bool yao3, bool yao2, bool yao1, int dong)
{
    m_yao[0] = yao1;
    m_yao[1] = yao2;
    m_yao[2] = yao3;
    m_yao[3] = yao4;
    m_yao[4] = yao5;
    m_yao[5] = yao6;
    m_dong = dong;
    update();
}

void Gua::paintEvent(QPaintEvent *)
{
    if(!bruse) return;
    m_off = this->height() / 19;
    m_w = this->width() - m_off * 2;
    m_w2 = this->width() / 2 - m_off - m_off / 2;
    m_h = m_off * 2;

    QPainter p(this);
    for(int i = 0; i < 6; ++i)
    {
        if(m_dong == i+1)
        {
            p.setPen(QColor(114, 180, 200));
            p.setBrush(QColor(114, 180, 200));
        }
        else
        {
            p.setPen(QColor(14, 150, 254));
            p.setBrush(QColor(14, 150, 254));
        }

        if(m_yao[i])
        {
            p.drawRect(m_off, m_off + (m_h + m_off) * (5 - i), m_w, m_h);
        }
        else
        {
            p.drawRect(m_off, m_off + (m_h + m_off) * (5 - i), m_w2, m_h);
            p.drawRect(width() /2 + m_off/2, m_off + (m_h + m_off) * (5 - i), m_w2, m_h);
        }
    }
}

QString Gua::guaName()
{
    QString str ="";
    if( m_yao[5] &&  m_yao[4] &&  m_yao[3] &&  m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "乾为天";}
    else if( m_yao[5] &&  m_yao[4] &&  m_yao[3] &&  m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "天风姤";}
    else if( m_yao[5] &&  m_yao[4] &&  m_yao[3] &&  m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "天山遁";}
    else if( m_yao[5] &&  m_yao[4] &&  m_yao[3] && !m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "天地否";}
    else if( m_yao[5] &&  m_yao[4] && !m_yao[3] && !m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "风地观";}
    else if( m_yao[5] && !m_yao[4] && !m_yao[3] && !m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "山地剥";}
    else if( m_yao[5] && !m_yao[4] &&  m_yao[3] && !m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "火地晋";}
    else if( m_yao[5] && !m_yao[4] &&  m_yao[3] &&  m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "火天大有";}
    else if(!m_yao[5] && !m_yao[4] &&  m_yao[3] && !m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "震为雷";}
    else if(!m_yao[5] && !m_yao[4] &&  m_yao[3] && !m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "雷地豫";}
    else if(!m_yao[5] && !m_yao[4] &&  m_yao[3] && !m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "雷水解";}
    else if(!m_yao[5] && !m_yao[4] &&  m_yao[3] &&  m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "雷风恒";}
    else if(!m_yao[5] && !m_yao[4] && !m_yao[3] &&  m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "地风升";}
    else if(!m_yao[5] &&  m_yao[4] && !m_yao[3] &&  m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "水封井";}
    else if(!m_yao[5] &&  m_yao[4] &&  m_yao[3] &&  m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "泽风大过";}
    else if(!m_yao[5] &&  m_yao[4] &&  m_yao[3] && !m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "泽雷随";}
    else if(!m_yao[5] &&  m_yao[4] && !m_yao[3] && !m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "坎为水";}
    else if(!m_yao[5] &&  m_yao[4] && !m_yao[3] && !m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "水泽节";}
    else if(!m_yao[5] &&  m_yao[4] && !m_yao[3] && !m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "水雷屯";}
    else if(!m_yao[5] &&  m_yao[4] && !m_yao[3] &&  m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "水火既济";}
    else if(!m_yao[5] &&  m_yao[4] &&  m_yao[3] &&  m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "泽火革";}
    else if(!m_yao[5] && !m_yao[4] &&  m_yao[3] &&  m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "雷火丰";}
    else if(!m_yao[5] && !m_yao[4] && !m_yao[3] &&  m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "地火明夷";}
    else if(!m_yao[5] && !m_yao[4] && !m_yao[3] && !m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "地水师";}
    else if( m_yao[5] && !m_yao[4] && !m_yao[3] &&  m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "艮为山";}
    else if( m_yao[5] && !m_yao[4] && !m_yao[3] &&  m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "山火贲";}
    else if( m_yao[5] && !m_yao[4] && !m_yao[3] &&  m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "山天大畜";}
    else if( m_yao[5] && !m_yao[4] && !m_yao[3] && !m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "山泽损";}
    else if( m_yao[5] && !m_yao[4] &&  m_yao[3] && !m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "火泽睽";}
    else if( m_yao[5] &&  m_yao[4] &&  m_yao[3] && !m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "天泽履";}
    else if( m_yao[5] &&  m_yao[4] && !m_yao[3] && !m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "风泽中孚";}
    else if( m_yao[5] &&  m_yao[4] && !m_yao[3] &&  m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "风山渐";}
    else if(!m_yao[5] && !m_yao[4] && !m_yao[3] && !m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "坤为地";}
    else if(!m_yao[5] && !m_yao[4] && !m_yao[3] && !m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "地雷复";}
    else if(!m_yao[5] && !m_yao[4] && !m_yao[3] && !m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "地泽临";}
    else if(!m_yao[5] && !m_yao[4] && !m_yao[3] &&  m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "地天泰";}
    else if(!m_yao[5] && !m_yao[4] &&  m_yao[3] &&  m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "雷天大壮";}
    else if(!m_yao[5] &&  m_yao[4] &&  m_yao[3] &&  m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "泽天夬";}
    else if(!m_yao[5] &&  m_yao[4] && !m_yao[3] &&  m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "水天需";}
    else if(!m_yao[5] &&  m_yao[4] && !m_yao[3] && !m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "水地比";}
    else if( m_yao[5] &&  m_yao[4] && !m_yao[3] &&  m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "巽为风";}
    else if( m_yao[5] &&  m_yao[4] && !m_yao[3] &&  m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "风天小畜";}
    else if( m_yao[5] &&  m_yao[4] && !m_yao[3] &&  m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "风火家人";}
    else if( m_yao[5] &&  m_yao[4] && !m_yao[3] && !m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "风雷益";}
    else if( m_yao[5] &&  m_yao[4] &&  m_yao[3] && !m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "天雷无妄";}
    else if( m_yao[5] && !m_yao[4] &&  m_yao[3] && !m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "火雷噬嗑";}
    else if( m_yao[5] && !m_yao[4] && !m_yao[3] && !m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "山雷颐";}
    else if( m_yao[5] && !m_yao[4] && !m_yao[3] &&  m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "山风蛊";}
    else if( m_yao[5] && !m_yao[4] &&  m_yao[3] &&  m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "离为火";}
    else if( m_yao[5] && !m_yao[4] &&  m_yao[3] &&  m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "火山旅";}
    else if( m_yao[5] && !m_yao[4] &&  m_yao[3] &&  m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "火风鼎";}
    else if( m_yao[5] && !m_yao[4] &&  m_yao[3] && !m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "火水未济";}
    else if( m_yao[5] && !m_yao[4] && !m_yao[3] && !m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "山水蒙";}
    else if( m_yao[5] &&  m_yao[4] && !m_yao[3] && !m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "风水涣";}
    else if( m_yao[5] &&  m_yao[4] &&  m_yao[3] && !m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "天水讼";}
    else if( m_yao[5] &&  m_yao[4] &&  m_yao[3] &&  m_yao[2] && !m_yao[1] &&  m_yao[0]) {str = "天火同人";}
    else if(!m_yao[5] &&  m_yao[4] &&  m_yao[3] && !m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "兑为泽";}
    else if(!m_yao[5] &&  m_yao[4] &&  m_yao[3] && !m_yao[2] &&  m_yao[1] && !m_yao[0]) {str = "泽水困";}
    else if(!m_yao[5] &&  m_yao[4] &&  m_yao[3] && !m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "泽地萃";}
    else if(!m_yao[5] &&  m_yao[4] &&  m_yao[3] &&  m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "泽山咸";}
    else if(!m_yao[5] &&  m_yao[4] && !m_yao[3] &&  m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "水山蹇";}
    else if(!m_yao[5] && !m_yao[4] && !m_yao[3] &&  m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "地山谦";}
    else if(!m_yao[5] && !m_yao[4] &&  m_yao[3] &&  m_yao[2] && !m_yao[1] && !m_yao[0]) {str = "雷山小过";}
    else if(!m_yao[5] && !m_yao[4] &&  m_yao[3] && !m_yao[2] &&  m_yao[1] &&  m_yao[0]) {str = "雷泽归妹";}
    return str;
}
